package proyecto.EntityBeans;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.Table;

@Entity
@Table(name="repitealumno_curso")
public class RepiteAlumnoCurso implements Serializable {

	private static final long serialVersionUID = 7422574264557894633L;
	
	private int idAC;
	private int anio;
	private Alumno alumno;
	private Curso curso;	
	
	
	
	public RepiteAlumnoCurso() {
		super();
		// TODO Auto-generated constructor stub
	}


	public RepiteAlumnoCurso(int idAC, int anio, Alumno alumno, Curso curso) {
		super();
		this.idAC = idAC;
		this.anio = anio;
		this.alumno = alumno;
		this.curso = curso;		
	}


	public RepiteAlumnoCurso(int anio, Alumno alumno, Curso curso) {
		super();
		this.anio = anio;
		this.alumno = alumno;
		this.curso = curso;		
	}

	
	@Id	
	@GeneratedValue(strategy = GenerationType.AUTO)
	public int getIdAC() {
		return idAC;
	}


	public void setIdAC(int idAC) {
		this.idAC = idAC;
	}

	
	@Column(name = "ANIO")
	public int getAnio() {
		return anio;
	}


	public void setAnio(int anio) {
		this.anio = anio;
	}

	
	/* Multiplicidad 1:1 */
	@OneToOne(optional = false)
	@JoinColumn(name="idAlumno")
	public Alumno getAlumno() {
		return alumno;
	}


	public void setAlumno(Alumno alumno) {
		this.alumno = alumno;
	}
	

	/* Multiplicidad 1:1 */
	@OneToOne(optional = false)
	@JoinColumn(name="idCurso")
	public Curso getCurso() {
		return curso;
	}


	public void setCurso(Curso curso) {
		this.curso = curso;
	}


		
	@Override
	public String toString() {
		return "Nro. AC: " + this.getIdAC() + " id de curso " + this.getCurso().getIdCurso() + " id alumno " + this.getAlumno().getIdPersona();
	}
}
